package com.fac.service;

import com.fac.dto.RoleCreateDTO;
import com.fac.dto.RolePageQueryDTO;
import com.fac.dto.RoleUpdateDTO;
import com.fac.entity.Role;
import com.fac.result.PageResult;

/**
 * 角色服务接口
 */
public interface RoleService {

    /**
     * 创建角色
     *
     * @param roleCreateDTO 角色创建DTO
     * @return 创建的角色
     */
    Role create(RoleCreateDTO roleCreateDTO);

    /**
     * 分页查询角色
     *
     * @param rolePageQueryDTO 分页查询条件
     * @return 分页结果
     */
    PageResult pageQuery(RolePageQueryDTO rolePageQueryDTO);

    /**
     * 更新角色
     *
     * @param roleUpdateDTO 角色更新DTO
     * @return 更新后的角色
     */
    Role update(RoleUpdateDTO roleUpdateDTO);

    /**
     * 删除角色
     *
     * @param roleId 角色ID
     */
    void delete(Long roleId);
} 